#!/bin/bash
echo =================================
echo  自动化部署脚本启动
echo =================================

echo 停止原来运行中的工程
APP_NAME=guardrail_project #克隆远程仓库项目名字
#根据APP_NAME变量杀进程
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'Stop Process...'
    kill -15 $tpid
fi
sleep 2
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'Kill Process!'
    kill -9 $tpid
else
    echo 'Stop Success!'
fi


echo ============启动项目
nohup java -jar guardrail_project.jar &> guardrail_project.log & #注意，改为自己的.jar包名
echo ============项目启动完成

echo 根据当前日期生成日志文件名
LOGFILE="logs/log_"$(date +%Y-%m-%d).txt # 根据当前日期生成日志文件名
nohup java -jar guardrail_project.jar > $LOGFILE & # 后台运行jar包并输出结果到指定日志文件
echo "Log file created at $(pwd)/$LOGFILE" # 显示日志文件路径

#!清理日志文件
LOGDIR="/home/guardrail_project/logs" # 设置日志存放目录
DAYS=30 # 保留最近多少天的日志文件
DATE=$(date +%Y-%m-%d) # 获取当前日期
FILENAME="log-$DATE.txt" # 根据日期命名日志文件
 
mkdir -p $LOGDIR # 确保日志目录存在
cd $LOGDIR # 切换到日志目录
#touch $FILENAME # 创建新的日志文件
#chmod a+w $FILENAME # 修改日志文件为可写入状态
 
echo 删除超过30天的日志文件
find . -name "*.txt" ! -newermt "$(date -d "-$DAYS days" '+%Y-%m-%d')" | xargs rm -f # 删除超过指定天数的日志文件